翻訳と辞書
Words near each other
・ Nomudar Kola
・ Nomuka
・ Nomula
・ Nomula Narsimhaiah
・ Nomula, Nalgonda
・ Nomula, Ranga Reddy
・ Nomule
・ Nominal Pipe Size
・ Nominal power (photovoltaic)
・ Nominal rigidity
・ Nominal sentence
・ Nominal size
・ Nominal TAM
・ Nominal techniques
・ Nominal terms
Nominal terms (computer science)
・ Nominal type system
・ Nominal watt
・ Nominal yield
・ Nominalia of the Bulgarian khans
・ Nominalism
・ Nominalization
・ Nominalized adjective
・ NOMINATE (scaling method)
・ Nominate contract
・ Nominate reports
・ Nominated adviser
・ Nominated Member of Legislative Assembly
・ Nominated Member of Parliament
・ Nominated members of Seanad Éireann


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Nominal terms (computer science) : ウィキペディア英語版
Nominal terms (computer science)
Nominal terms are a metalanguage for embedding object languages with binding constructs into. Intuitively, they may be seen as an extension of first-order terms with support for name binding. Consequently, the native notion of equality between two nominal terms is alpha-equivalence (equivalence up to a permutative renaming of bound names). Nominal terms came out of a programme of research into nominal sets, and have a concrete semantics in those sets.
Nominal unification is efficiently decidable. This fact led to the development of alphaProlog, a Prolog-like logic programming language with facilities for binding names in terms, where Prolog's standard first-order unification algorithm is replaced with nominal unification.
Nominal term embeddings may be seen as alternatives to de Bruijn encodings and higher-order abstract syntax, where the latter uses the simply typed lambda calculus as a metalanguage.
==Motivation==

Many interesting calculi, logics and programming languages that are commonly seen in computer science feature name binding constructs. For instance, the universal quantifier from first-order logic, the lambda-binder from the lambda-calculus, and the pi-binder from the pi-calculus are all examples of name-binding constructs.
Computer scientists often need to manipulate abstract syntax trees. For instance, compiler writers perform many manipulations of abstract syntax trees during the various optimisation and elaboration phases of compiler execution. In particular, when working with abstract syntax trees with name binding constructs, we often want to work on alpha-equivalence classes, implement capture-avoiding substitutions, and make it easy to generate fresh names. How best to do this, in a bug free and reliable manner, motivates a large amount of research.
Prior attempts at solving this problem include 'nameless approaches' such as de Bruijn indices and levels, and higher-order approaches such as higher-order abstract syntax. Nominal terms are another, relatively new, approach that retain explicit names for bound variables like higher-order abstract syntax, whilst retaining the first-order flavour (and first-order computational properties) of de Bruijn encodings.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Nominal terms (computer science)」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.